iT邦幫忙

2024 iThome 鐵人賽

DAY 4
0
佛心分享-IT 人自學之術

從0到1的攻擊手自學之旅系列 第 4

[鐵人賽] Day 4:HTB挑戰之旅 Starting Point (二)- Fawn

  • 分享至 

  • xImage
  •  

Tips: before Day 4

SOP

  • VPN連線進入靶機網域
  • 準備好你的攻擊工具 nmap
    • telnet
  • 找到flag ls, cat flag.txt

command

  • sudo openvpn
  • telnet
  • ls
  • cat

Port掃描工具

Day 3 我用了一套Windows系統的Advanced Port Scannerwsl2,他們家還有一套介面不太一樣的Advanced IP Scanner每年去北區區網管理員會議的時候常常會聽到游大神李大神介紹,平常查線的時候也挺好用。但是呢nmap指令可以加上許多參數進行調整比較能夠依照我們的需求去進行探測,如果還是不想打指令這時候google關鍵字zenmap會發現不一樣的風景。

其實我在wsl2跑了Ubuntu之後為了節省空間就沒用過Zenmap,因為我的X280當時為了省錢只配了256GB硬碟客製化無視訊鏡頭鍵盤無背光,但是 i7 8th和16 GB RAM讓我能用到現在。

以下都會以nmap指令進行操作,但為了有些沒用過同學我還是重裝了一台並且下達指令nmap -h觀看help,當系統自己發現到並未安裝套件會很貼心的建議執行以下指令sudo apt update(但這只是先更新套件清單而已並不會開始安裝🤷‍♂️)。

Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: Finley
err: Please enter a username matching the regular expression
            configured via the NAME_REGEX configuration variable.  Use the
            `--allow-bad-names' option to relax this check or reconfigure
            NAME_REGEX in configuration.
Enter new UNIX username: finley
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
┏━(Message from Kali developers)
┃
┃ This is a minimal installation of Kali Linux, you likely
┃ want to install supplementary tools. Learn how:
┃ ⇒ https://www.kali.org/docs/troubleshooting/common-minimum-setup/
┃
┗━(Run: “touch ~/.hushlogin” to hide this message)
┌──(finley㉿FinleyX280)-[~]
└─$ nmap -h
Could not find command-not-found database. Run 'sudo apt update' to populate it.
nmap: command not found

其實大部分的套件如果遇到套件名稱-v看版本或h看說明系統發現沒有安裝,應該會出現

  • Run 'sudo apt update'
  • Run 'sudo apt install nmap(建議的套件名稱)'

真的沒有還是要sudo apt install nmap安裝一次噢!

Fawn

這時候把我們的SOP再整理一遍,我認為大家所謂的練手感是找到自己的SOP,而我現在就是示範怎麼整理出一套屬於我的SOP,也希望大家可以藉由模仿中學習。以下就依照我們的SOP開始進行:

  • VPN連線進入靶機網域
  • nmap
    • telnet
  • ls, cat flag.txt

Step 1 openvpn

┌──(kali㉿kali)-[~]
└─$ sudo openvpn --config starting_point_FinleyLi.ovpn

這一次我們拿到的IP 10.129.28.11進行掃描,還有聽說過一個問題,因為免費版本不會有私人靶機,共用靶機發生沒有回應的時候可能是被打掛,大部分只要等一等重開一次就好了。

ONLINE

TARGET MACHINE IP ADDRESS

10.129.28.11

Read the walkthrough provided, to get a detailed guide on how to pwn this machine.

Step 2 nmap

前面4個Task同樣是名詞解釋就跳過它,這裡提供了線索這個靶機要注意FTP協定。同樣為了讓戲繼續演下去,我們還是先用nmap來找看看這台靶機有些甚麼服務。Day 3我用的T4參數沒有不好,但這次換個F參數是為了加快掃描的速度。差別在預設掃描1000個埠,F快速掃描只掃100個。

finley@FinleyX280:~$ nmap -F 10.129.28.11
Starting Nmap 7.80 ( https://nmap.org ) at 2024-09-14 09:11 CST
Nmap scan report for 10.129.28.11
Host is up (0.21s latency).
Not shown: 99 closed ports
PORT   STATE SERVICE
21/tcp open  ftp

Nmap done: 1 IP address (1 host up) scanned in 3.40 seconds

看起來我們真的沒有通靈也能找到這台靶機有開21 port服務,不過version? 我來演示Task 5怎麼找到答案是「vsftpd 3.0.3」。

Task 5

From your scans, what version is FTP running on the target?

****** *.*.3

首先,看過答案的同學應該知道要加參數-sV看版本,但是當我們甚麼都不知道的時候一開始就下sV參數會讓回應速度變慢,建議還是先掃出目標port再下sV,這時候我們的SOP要先改成:

  • VPN連線進入靶機網域
    • sudo openvpn --config (目標).ovpn
  • nmap
    • nmap -F (目標IP): nmap -F 10.129.28.11
    • 或 nmap -T4 (目標IP): nmap -T4 10.129.28.11
      • nmap -sV -p(目標埠) (目標IP): nmap -sV -p21 10.129.28.11
finley@FinleyX280:~$ nmap -sV -p21 10.129.28.11
Starting Nmap 7.80 ( https://nmap.org ) at 2024-09-14 09:19 CST
Nmap scan report for 10.129.28.11
Host is up (0.21s latency).

PORT   STATE SERVICE VERSION
21/tcp open  ftp     vsftpd 3.0.3
Service Info: OS: Unix

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 2.43 seconds

Step 3 ftp

接下來我們再來認識一個指令ftp,使用方式ftp (目標IP),但是在演示之前身為GUI愛用者的我還是先用視窗模式是著來完成,我們電腦要安裝ftp client端程式嗎?自問自答:不用,就打開檔案總管吧!然後不小心答案就出現了。😂

https://ithelp.ithome.com.tw/upload/images/20240914/20165500256SarLh8k.png

但我們還是來看一下指令怎麼用,建議但不強迫同學們會看到許多教學會加上-v參數,其實不影響功能只是會回應較多的資訊而且這個參數下在nmap也有一樣的效果。

finley@FinleyX280:~$ ftp -v 10.129.28.11
Connected to 10.129.28.11.
220 (vsFTPd 3.0.3)
Name (10.129.28.11:finley):

登入時會遇到Name的問題,這時候又回到Day 3 「無密碼」、「anonymous」、「admin」、這些常見的預設帳號和可以不用密碼登入的帳號「root」。雖然很討厭說經驗法則這樣會有專業傲慢的感覺,但這裡就是先用ftp預設帳號密碼來試(anonymous/password),我們在windows檔案總管已經用預設帳密直接幫我們登入但是指令模式下還是來嘗試一遍。

finley@FinleyX280:~$ ftp -v 10.129.28.11
Connected to 10.129.28.11.
220 (vsFTPd 3.0.3)
Name (10.129.28.11:finley): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

登入成功之後我們先截斷一下內容,接下來要使用觀看資料夾內容的指令ls,很善心的flag就放在登入的位置,指令cat偷看檔案內容在ftp不能使用需要改用get將flag.txt先下載回來。

ftp> ls
229 Entering Extended Passive Mode (|||63732|)
150 Here comes the directory listing.
-rw-r--r--    1 0        0              32 Jun 04  2021 flag.txt
226 Directory send OK.
ftp> get flag.txt
local: flag.txt remote: flag.txt
229 Entering Extended Passive Mode (|||61174|)
150 Opening BINARY mode data connection for flag.txt (32 bytes).
100% |***************************************************************************************************|    32        4.52 KiB/s    00:00 ETA
226 Transfer complete.
32 bytes received in 00:00 (0.14 KiB/s)
ftp>

這時,我們就要去下載的位置找這個flag.txt檔案,如果是使用windows wsl2的同學可以在檔案總管使用以下路徑,finley是我的名字所以要記得換成你的使用者名稱。

\\wsl.localhost\Ubuntu\home\finley

如果進入了Ubuntu terminal環境或者是你的Kali環境呢,則用指令ls確認是否成功下載到flag.txt,接著使用指令cat flag.txt去察看檔案內容就可以。

Welcome to Ubuntu 22.04.4 LTS (GNU/Linux 5.15.133.1-microsoft-standard-WSL2 x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s
   just raised the bar for easy, resilient and secure K8s cluster deployment.

   https://ubuntu.com/engage/secure-kubernetes-at-the-edge

This message is shown once a day. To disable it please create the
/home/finley/.hushlogin file.
finley@FinleyX280:~$ ls
flag.txt
finley@FinleyX280:~$ cat flag.txt
035db21c881520061c53e0536e44f815finley@FinleyX280:~$

Step 4 SOP

經過了上面的步驟,我們又可以修正一次SOP

  • VPN連線進入靶機網域
    • sudo openvpn --config (目標).ovpn
  • nmap
    • nmap -F (目標IP): nmap -F 10.129.28.11
    • 或 nmap -T4 (目標IP): nmap -T4 10.129.28.11
    • nmap -sV -p(目標埠) (目標IP): nmap -sV -p21 10.129.28.11
      • 發現23 port: telnet (目標IP)
      • 發現21 port: ftp -v (目標IP)
  • ls, cat flag.txt, get (檔案名稱)

進入Day 5之前依樣請先熟習這些指令在鍵盤上的位置,也發現到我們的SOP更豐富了。不過我花在解釋路徑的篇幅不多,這一點也是許多人會遇到瓶頸的地方。我們對流程越來越熟之後再來研究路徑的問題,畢竟very easy靶機的flag還不用特別去尋找。


上一篇
[鐵人賽] Day 3:HTB挑戰之旅 Starting Point (一)- Meow
下一篇
[鐵人賽] Day 5:HTB挑戰之旅 Starting Point (三)- Dancing, Redeemer
系列文
從0到1的攻擊手自學之旅17
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言